package ar.com.ctrln.services.factibilidad;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import ar.com.ctrln.persistence.dao.factibilidad.DetalleFactibilidadDao;
import ar.com.ctrln.persistence.dao.factibilidad.FactibilidadClienteDao;
import ar.com.ctrln.persistence.model.factibilidad.DetalleFactibilidad;
import ar.com.ctrln.persistence.model.factibilidad.Factibilidad;
import ar.com.ctrln.persistence.model.factibilidad.FactibilidadCliente;

@Service("gestorFactibilidadCliente")
public class GestorFactibilidadCliente {

	@Autowired
	private FactibilidadClienteDao factibilidadClienteDao;

	@Autowired
	private DetalleFactibilidadDao detalleFactibilidadDao;

	public Factibilidad getFactibilidad(long id) {
		return factibilidadClienteDao.get(id);
	}

	public void nueva(FactibilidadCliente factibilidad) {
		factibilidadClienteDao.save(factibilidad);
	}

	public void nueva(DetalleFactibilidad detalle) {
		detalleFactibilidadDao.save(detalle);
	}

	public Set<DetalleFactibilidad> listarDetalles(long idFactibilidad) {
		Set<DetalleFactibilidad> set = new HashSet<DetalleFactibilidad>();
		List<DetalleFactibilidad> detalles = factibilidadClienteDao
				.listarDetalles(idFactibilidad);
		for (DetalleFactibilidad detalleFactibilidad : detalles) {
			set.add(detalleFactibilidad);
		}
		return set;
	}

	public Set<Factibilidad> listar() {
		Set<Factibilidad> lista = new HashSet<Factibilidad>();
		for (Factibilidad factibilidadCliente : factibilidadClienteDao
				.getList()) {
			lista.add(factibilidadCliente);
		}
		return lista;
	}

	public void actualizar(FactibilidadCliente factibilidad) {
		factibilidadClienteDao.update(factibilidad);
	}
}
